package com.hyy.formal;

import com.google.common.base.Predicate;
import org.squirrelframework.foundation.event.ListenerMethod;
import org.squirrelframework.foundation.event.SquirrelEvent;
import org.squirrelframework.foundation.exception.TransitionException;
import org.squirrelframework.foundation.fsm.*;

import java.lang.reflect.Method;
import java.util.Collection;
import java.util.List;

/**
 * Created by hyygavin on 2017/10/20.
 */
public class MyStateMachine implements StateMachine<MyStateMachine, MyState, MyEvent, MyContext> {


    public void fire(MyEvent myEvent, MyContext myContext) {

    }

    public void fireImmediate(MyEvent myEvent, MyContext myContext) {

    }

    public MyState test(MyEvent myEvent, MyContext myContext) {
        return null;
    }

    public void fire(MyEvent myEvent) {

    }

    public void fireImmediate(MyEvent myEvent) {

    }

    public MyState test(MyEvent myEvent) {
        return null;
    }

    public boolean canAccept(MyEvent myEvent) {
        return false;
    }

    public void start(MyContext myContext) {

    }

    public void start() {

    }

    public void terminate(MyContext myContext) {

    }

    public void terminate() {

    }

    public StateMachineStatus getStatus() {
        return null;
    }

    public MyStateMachine getThis() {
        return null;
    }

    public MyState getCurrentState() {
        return null;
    }

    public MyState getLastState() {
        return null;
    }

    public MyState getInitialState() {
        return null;
    }

    public MyState getLastActiveChildStateOf(MyState myState) {
        return null;
    }

    public List<MyState> getSubStatesOn(MyState myState) {
        return null;
    }

    public ImmutableState<MyStateMachine, MyState, MyEvent, MyContext> getCurrentRawState() {
        return null;
    }

    public ImmutableState<MyStateMachine, MyState, MyEvent, MyContext> getLastRawState() {
        return null;
    }

    public ImmutableState<MyStateMachine, MyState, MyEvent, MyContext> getInitialRawState() {
        return null;
    }

    public ImmutableState<MyStateMachine, MyState, MyEvent, MyContext> getRawStateFrom(MyState myState) {
        return null;
    }

    public Collection<MyState> getAllStates() {
        return null;
    }

    public Collection<ImmutableState<MyStateMachine, MyState, MyEvent, MyContext>> getAllRawStates() {
        return null;
    }

    public StateMachineData.Reader<MyStateMachine, MyState, MyEvent, MyContext> dumpSavedData() {
        return null;
    }

    public boolean loadSavedData(StateMachineData.Reader<MyStateMachine, MyState, MyEvent, MyContext> reader) {
        return false;
    }

    public boolean isContextSensitive() {
        return false;
    }

    public Class<MyContext> typeOfContext() {
        return null;
    }

    public Class<MyEvent> typeOfEvent() {
        return null;
    }

    public Class<MyState> typeOfState() {
        return null;
    }

    public TransitionException getLastException() {
        return null;
    }

    public String getIdentifier() {
        return null;
    }

    public String getDescription() {
        return null;
    }

    public String exportXMLDefinition(boolean b) {
        return null;
    }

    public void addDeclarativeListener(Object o) {

    }

    public void removeDeclarativeListener(Object o) {

    }

    public boolean isRemoteMonitorEnabled() {
        return false;
    }

    public boolean isStarted() {
        return false;
    }

    public boolean isTerminated() {
        return false;
    }

    public boolean isError() {
        return false;
    }

    public void addStateMachineListener(StateMachineListener<MyStateMachine, MyState, MyEvent, MyContext> stateMachineListener) {

    }

    public void removeStateMachineListener(StateMachineListener<MyStateMachine, MyState, MyEvent, MyContext> stateMachineListener) {

    }

    public void addStartListener(StartListener<MyStateMachine, MyState, MyEvent, MyContext> startListener) {

    }

    public void removeStartListener(StartListener<MyStateMachine, MyState, MyEvent, MyContext> startListener) {

    }

    public void addTerminateListener(TerminateListener<MyStateMachine, MyState, MyEvent, MyContext> terminateListener) {

    }

    public void removeTerminateListener(TerminateListener<MyStateMachine, MyState, MyEvent, MyContext> terminateListener) {

    }

    public void addStateMachineExceptionListener(StateMachineExceptionListener<MyStateMachine, MyState, MyEvent, MyContext> stateMachineExceptionListener) {

    }

    public void removeStateMachineExceptionListener(StateMachineExceptionListener<MyStateMachine, MyState, MyEvent, MyContext> stateMachineExceptionListener) {

    }

    public void addTransitionBeginListener(TransitionBeginListener<MyStateMachine, MyState, MyEvent, MyContext> transitionBeginListener) {

    }

    public void removeTransitionBeginListener(TransitionBeginListener<MyStateMachine, MyState, MyEvent, MyContext> transitionBeginListener) {

    }

    public void addTransitionCompleteListener(TransitionCompleteListener<MyStateMachine, MyState, MyEvent, MyContext> transitionCompleteListener) {

    }

    public void removeTransitionCompleteListener(TransitionCompleteListener<MyStateMachine, MyState, MyEvent, MyContext> transitionCompleteListener) {

    }

    public void addTransitionExceptionListener(TransitionExceptionListener<MyStateMachine, MyState, MyEvent, MyContext> transitionExceptionListener) {

    }

    public void removeTransitionExceptionListener(TransitionExceptionListener<MyStateMachine, MyState, MyEvent, MyContext> transitionExceptionListener) {

    }

    public void addTransitionDeclinedListener(TransitionDeclinedListener<MyStateMachine, MyState, MyEvent, MyContext> transitionDeclinedListener) {

    }

    public void removeTransitionDeclinedListener(TransitionDeclinedListener<MyStateMachine, MyState, MyEvent, MyContext> transitionDeclinedListener) {

    }

    public void removeTransitionDecleindListener(TransitionDeclinedListener<MyStateMachine, MyState, MyEvent, MyContext> transitionDeclinedListener) {

    }

    public void addTransitionEndListener(TransitionEndListener<MyStateMachine, MyState, MyEvent, MyContext> transitionEndListener) {

    }

    public void removeTransitionEndListener(TransitionEndListener<MyStateMachine, MyState, MyEvent, MyContext> transitionEndListener) {

    }

    public void addExecActionListener(ActionExecutionService.BeforeExecActionListener<MyStateMachine, MyState, MyEvent, MyContext> beforeExecActionListener) {

    }

    public void removeExecActionListener(ActionExecutionService.BeforeExecActionListener<MyStateMachine, MyState, MyEvent, MyContext> beforeExecActionListener) {

    }

    public boolean isNotifiable() {
        return false;
    }

    public void setNotifiable(boolean b) {

    }

    public void addListener(Class<?> aClass, Object o, Method method) {

    }

    public void addListener(Class<?> aClass, Object o, String s) {

    }

    public void removeListener(Predicate<ListenerMethod> predicate) {

    }

    public void removeListener(Class<?> aClass, Object o, Method method) {

    }

    public void removeListener(Class<?> aClass, Object o, String s) {

    }

    public void removeListener(Class<?> aClass, Object o) {

    }

    public void removeAllListeners() {

    }

    public void fireEvent(SquirrelEvent squirrelEvent) {

    }

    public int getListenerSize() {
        return 0;
    }

    public void accept(Visitor visitor) {

    }
}
